package com.wshoto.ocean.feign.common.request;

import lombok.*;
import lombok.extern.slf4j.*;

import javax.validation.constraints.*;
import java.io.*;

/**
 * 示例请求对象
 * 请求中若包含2个及两个以上的参数，需包装为请求对象
 * 在请求对象中需要对请求参数进行校验，校验方式通过JSR校验注解校验
 * 不同的请求接口避免共用同一个请求对象，防止检验参数规则的差异引起问题
 * 如有需要，请求对象可以一直向下传递AppRegisterReq
 *
 * @author Lee
 */
@Slf4j
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AppRegisterReq implements Serializable {

    /**
     * 用户ID
     */
    @NotNull(message = "用户ID不能为空")
    private Long userId;

    /**
     * 应用名称
     */
    @NotBlank(message = "appName不能为空")
    private String appName;

    /**
     * 密钥
     */
    @NotBlank(message = "密钥不能为空")
    private String secret;

    /**
     * 应用类型
     */
    @NotBlank(message = "应用类型不能为空")
    private String type;

    /**
     * 备注
     */
    private String remark;
}
